// 高精度加法
// 测试链接 ：https://www.luogu.com.cn/problem/P1601
// 相关帖子 ：https://www.cnblogs.com/dx123/p/16651627.html
// 相关帖子 ：https://oi-wiki.org/math/bignum/
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 100;
int A[MAXN], B[MAXN], C[MAXN];
int la, lb, lc;

// c = a + b
void add(int a[], int b[], int c[])
{
    for(int i = 1; i <= lc; ++i)
    {
        c[i] += a[i] + b[i];   // 求和
        c[i + 1] += c[i] / 10; // 进位
        c[i] %= 10;            // 存余
    }
    if(c[lc + 1]) ++lc; // 处理最高位
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    /*
    高精度加法的步骤：
    1. 高精度数字利用字符串读入
    2. 把字符串翻转存入两个整形数组 A，B
    3. 从低位到高位，累加，进位，存疑
    4. 把数组 C 从高位到低位依次输出
    */

    string sa, sb;
    cin >> sa >> sb;
    
    la = sa.size(), lb = sb.size(), lc = max(la, lb);
    for(int i = 1; i <= la; ++i) A[i] = sa[la - i] - '0';
    for(int i = 1; i <= lb; ++i) B[i] = sb[lb - i] - '0';
    add(A, B, C);
    for(int i = lc; i >= 1; --i) printf("%d", C[i]);

    return 0;
}